package org.edu.modules.base.service;

import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

import org.edu.common.api.vo.Result;
import org.edu.modules.base.entity.VeBaseAppUser;

public abstract interface IVeBaseAppUserService extends IService<VeBaseAppUser> {

    public abstract List<VeBaseAppUser> zombieUserAllList(VeBaseAppUser appUser);

    public abstract int getLoginUserAllList(VeBaseAppUser appUser);

    public abstract List<VeBaseAppUser> getLoginUserPageList(VeBaseAppUser appUser);

    public abstract int getAppUserAllList(VeBaseAppUser appUser);

    public abstract List<Map<String, Object>> getAppUserPageList(VeBaseAppUser appUser);

    public abstract Result updateAppUserPasswordById(String id, String username, String password, String strength);

    public abstract VeBaseAppUser getPwdAndSalt(VeBaseAppUser appUser);

    public abstract int serviceGroupAppUserAllList(VeBaseAppUser appUser);

    public abstract List<Map<String, Object>> serviceGroupAppUserPageList(VeBaseAppUser appUser);

    public abstract int deleteServiceGroupAppUser(String groupId);

    public abstract int serviceGroupAppUserAdd(String groupId, String[] userId);

    public abstract int deleteGroupAppUser(String groupId, String[] userId);

    public abstract List<Map<String, Object>> getAppOrganList();

    public abstract List<Map<String, Object>> getSysRoleList();

    public abstract int addOrgan(String userId, String organId);

    public abstract int addRole(String userId, String roleId);

    public abstract int deleteOrgan(String userId);

    public abstract int deleteRole(String userId);

    public abstract List<Map<String, Object>> getAppUserByUserId(String userId, String id);

    public abstract List<Map<String, Object>> getAppUserAllListByUserId(String userId, String id);

    public abstract List<Map<String, Object>> getAppUserByUserTel(String userTel, String id);

    public abstract int getAppUserAndStudentAndTeacherList(VeBaseAppUser appUser);

    public abstract List<Map<String, Object>> getAppUserAndStudentAndTeacherPageList(VeBaseAppUser appUser);

    public abstract int addSysUser(VeBaseAppUser appUser);

    public abstract int updateSysUserStatus(String userId, Integer status);

    public abstract int updateSysUserDel(String userId);

    public abstract List<Map<String, Object>> getTeacherListByUserId(String userId);

    public abstract List<Map<String, Object>> getStudentListByUserId(String userId);

    public abstract String pwdVerify(String pwd);

    public abstract int updatePwdAndSalt(String userId, String pwd, String salt);
}
